package controlmercancias.dominio;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Hasier
 */
public class Tren {

    public enum EstadoTren {

        FUNCIONANDO, PARADO, MANTENIMIENTO;
    }
    private String id;
    private boolean gpsConnected = true;
    private EstadoTren estado = EstadoTren.FUNCIONANDO;
    private List<Sensor> sensores;

    public Tren(String id) {
        setId(id);
        sensores = new ArrayList<Sensor>();
    }

    private void setId(String id) {
        if (id == null) {
            throw new NullPointerException("El id no puede ser nulo");
        }
        if (id.trim().equals("")) {
            throw new IllegalArgumentException("El id no puede ser cadena vacía");
        }
        this.id = id;
    }

    public EstadoTren getEstado() {
        return estado;
    }

    public void setEstado(EstadoTren estado) {
        this.estado = estado;
    }

    public boolean isGpsConnected() {
        return gpsConnected;
    }

    public void setGpsConnected(boolean gpsConnected) {
        this.gpsConnected = gpsConnected;
    }

    public String getId() {
        return id;
    }

    public List<Sensor> getSensores() {
        return sensores;
    }

    public void addSensor(Sensor s) {
        if (s == null) {
            throw new NullPointerException("El sensor no puede ser nulo");
        }
        sensores.add(s);
    }
}
